using System;

namespace CodeGenerators
{
	internal class LanguageFactory
	{
		public static IDPAProjectGenerator CreateProjectGenerator(string language)
		{
			switch( language )
			{
				case Constants.CSHARP:
					return new CSharpProjectGenerator();
				case Constants.VBNET:
					return new VBProjectGenerator();
				case Constants.CPP:
					return new CPlusPlusProjectGenerator();
			}
			return new DefaultProjectGenerator();
		}
		public static IDPAComponentGenerator CreateComponentGenerator(string language)
		{
			return new DefaultComponentGenerator();
		}
		public static IDPAClassGenerator CreateClassGenerator(string language)
		{
			switch( language )
			{
				case Constants.CSHARP:
					return new CSharpClassGenerator();
				case Constants.VBNET:
					return new VBClassGenerator();
				case Constants.CPP:
					return new CPlusPlusClassGenerator();
				case Constants.JAVA:
					return new JavaClassGenerator();
			}
			return null;
		}
	}
}
